/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package bankingsystem;

import java.io.Serializable;
import java.util.Calendar;


/**
 * Defines the abstract Account class that is used as a template when
 * designing specialized account objects.
 * @author malith
 * @version 1.0
 */
public abstract class Account implements Serializable{

    protected String accountNo;
    protected Customer customer;
    protected float balance;
    protected Calendar startDate = Calendar.getInstance();

    public Account(String accountNo,Customer customer,float balance,Calendar startDate){
        this.accountNo = accountNo;
        this.balance = balance;
        this.customer = customer;
        this.startDate = startDate;
    }
    /**
     * Abstract method which dictates that all subclasses must implement
     * an overridden show() method
     */
    protected abstract void show();
    
}
